import 'package:shared_preferences/shared_preferences.dart';

class SharedPreferencesHelper {
  static late SharedPreferences _prefs;

  // 初始化 SharedPreferences
  static Future<void> init() async {
    _prefs = await SharedPreferences.getInstance();
  }

  // 保存字符串
  static Future<void> setString(String key, String value) async {
    await _prefs.setString(key, value);
  }

  // 获取字符串
  static String? getString(String key) {
    return _prefs.getString(key);
  }

  // 保存整数
  static Future<void> setInt(String key, int value) async {
    await _prefs.setInt(key, value);
  }

  // 获取整数
  static int? getInt(String key) {
    return _prefs.getInt(key);
  }

  // 保存布尔值
  static Future<void> setBool(String key, bool value) async {
    await _prefs.setBool(key, value);
  }

  // 获取布尔值
  static bool? getBool(String key) {
    return _prefs.getBool(key);
  }

  // 保存双精度浮点数
  static Future<void> setDouble(String key, double value) async {
    await _prefs.setDouble(key, value);
  }

  // 获取双精度浮点数
  static double? getDouble(String key) {
    return _prefs.getDouble(key);
  }

  // 保存字符串列表
  static Future<void> setStringList(String key, List<String> value) async {
    await _prefs.setStringList(key, value);
  }

  // 获取字符串列表
  static List<String>? getStringList(String key) {
    return _prefs.getStringList(key);
  }

  // 移除指定的键值对
  static Future<void> remove(String key) async {
    await _prefs.remove(key);
  }

  // 清空所有数据
  static Future<void> clear() async {
    await _prefs.clear();
  }
}
